﻿using System;
using System.Reflection;

namespace FluentlyXml.Core
{
	//This interface *might* be removed in the future.  It may be useful for testing purposes,
	//so I'm leaving it in for now. 
	internal interface ISerializationConfig
	{
		void SerializePropertyAsArray(Type target, PropertyInfo property);
		void SetIgnoredProperty(Type target, PropertyInfo property);
		void MarkTypeAsSealed(Type type);
		void SerializePropertyAsElement(Type target, PropertyInfo property, string elementName);
		void SerializePropertyAsElementUsing(Type target, PropertyInfo property, string elementName, Func<object, object> converter);
	}
}